<template>
    <div class="todo-footer">
        <label>
            <input type="checkbox" v-model="changeCheck" />
        </label>
        <span>
            <span>已完成 {{doneCount}}</span> / 全部 {{AllCount}}
        </span>
        <button class="btn btn-danger" @click="delChecked">清除已完成任务</button>
    </div>
</template>

<script>
    export default {
        name: 'Footer',
        props: ['clearChecked', 'checkAll', 'todos'],
        methods: {
            delChecked() {
                if (confirm('确认清除吗？'))
                    this.clearChecked();
            }
        },
        computed: {
            doneCount() {
                return this.todos.reduce((pre, todo) => pre + (todo.done ? 1 : 0), 0)
            },
            AllCount() {
                return this.todos.length;
            },
            changeCheck: {
                get() {
                    if (this.doneCount === this.AllCount && this.AllCount > 0) {
                        return true
                    }
                },
                set(val) {
                    this.checkAll(val);
                }
            }
        }
    }
</script>

<style scope>
    /*footer*/
    .todo-footer {
        height: 40px;
        line-height: 40px;
        padding-left: 6px;
        margin-top: 5px;
    }

    .todo-footer label {
        display: inline-block;
        margin-right: 20px;
        cursor: pointer;
    }

    .todo-footer label input {
        position: relative;
        top: -1px;
        vertical-align: middle;
        margin-right: 5px;
    }

    .todo-footer button {
        float: right;
        margin-top: 5px;
    }
</style>